Linux 主機的設定
若要確保在失效接手實務中能回復路徑,將 Linux 主機連接至系統時,建議使用某些「裝置對映器多重路徑 (DMMP)」設定及 udev 規則。這些設定適用於 IBM® System x、所有 Intel 或 AMD 型伺服器,以及 Power® 平台。
完成下列兩個步驟之後,必須重新啟動主機:
請針對每一個 Linux 發行套件以及發行套件內的版本,參閱 [/usr/share/doc/device-mapper-multipath.*] 之下的預設值(若為 Red Hat),以及 [/usr/share/doc/packages/multipath-tools] 之下的預設值(若為 Novell SuSE)。請確定新增至 multipath.conf 的項目符合必要 Linux 發行套件的格式和語法。所使用的 multipath.conf 必須來自您相關的發行套件和版本。請勿在不同的發行套件或版本之間複製 multipath.conf 檔。
對於某些作業系統層次,polling_interval 必需位於預設值之下,而不是位於裝置設定之下。如果在裝置區段中出現 polling_interval,請使用 # 索引鍵來註銷 polling_interval。
例如:
Under Device Section
# polling_interval 30,
Under Defaults Section
defaults {
user_friendly_names yes
polling_interval 30
}特定 Linux 發行套件和版本的多重路徑設定
使用下列參數來編輯 /etc/multipath.conf,並輸入下列來確認變更:
multipathd -k
multipathd> show config
Red Hat Linux 5.x 版、6.0 版和 6.1 版
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0"
prio_callout "/sbin/mpath_prio_alua /dev/%n" #Used by Red Hat 5.x
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5
rr_weight uniform
rr_min_io 1000
dev_loss_tmo 120 Red Hat Linux 6.2 版和更新版本
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0" # Used by Red Hat 6.2
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5
rr_weight uniform
rr_min_io_rq "1"
dev_loss_tmo 120 Red Hat Linux 7.x 版
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "service-time 0" # Used by Red Hat 7.x
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5
rr_weight uniform
rr_min_io_rq "1"
dev_loss_tmo 120 SUSE Linux 10.x 版、11.0 版和第 11 版 SP1
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0"
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5
rr_weight uniform
rr_min_io 1000
dev_loss_tmo 120 SUSE Linux 第 11 版 SP2
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0" # Used by SLES 11 SP2
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5
rr_weight uniform
rr_min_io_rq "1"
dev_loss_tmo 120 SUSE Linux 第 11 版 SP3+
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "service-time 0" # Used by SLES 11 SP3+
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5
rr_weight uniform
rr_min_io_rq "1"
dev_loss_tmo 120 SUSE Linux 版本 12+
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "service-time 0"
prio "alua"
path_checker "tur"
failback "immediate"
retain_attached_hw_handler "yes"
no_path_retry 5 # or no_path_retry "fail"
fast_io_fail_tmo 5
rr_min_io 1000
rr_min_io_rq 1
rr_weight "uniform" Ubuntu
vendor "IBM"
product "2145"
path_grouping_policy "group_by_prio"
path_selector "service-time 0"
prio "alua"
path_checker "tur"
failback "immediate"
no_path_retry 5 # or no_path_retry "fail"
retain_attached_hw_handler "yes"
fast_io_fail_tmo 5
rr_min_io 1000
rr_min_io_rq 1
rr_weight "uniform" Udev 規則 SCSI 指令逾時變更
設定 SCSI 指令逾時的 udev 規則。
將 SCSI 指令逾時設為 120 秒。這項建議設定適用於所有的 Linux 版本。
建立 udev 規則檔
如果要增加系統的 SCSI 指令逾時,請建立下列 udev 規則:
udev rules file
cat /etc/udev/rules.d/99-ibm-2145.rules
# Set SCSI command timeout to 120s (default == 30 or 60) for IBM 2145 devices
SUBSYSTEM=="block", ACTION=="add", ENV{ID_VENDOR}=="IBM",ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 >/sys/block/%k/device/timeout'"
設定磁區之後,請確認已為其設定了 120 秒。從指令行執行 multipath -ll | grep sd,以找出區塊裝置路徑。然後,執行 cat /sys/block/sdX/device/timeout(其中 X 是各個 2145 區塊裝置路徑)。